﻿using System;
using PropertyExpression.Common;

namespace PropertyExpression.ControllableQuery.Test.Queries
{
    public interface IModelPublicationInfo
    {
        Guid PublicationId { get; }
        string ModelCode { get; }
        string ModelSequence { get; }
    }

    public partial class ModelPublicationSearchQuery : IQuery<IModelPublicationInfo>
    {
        private readonly IOptionalValue<IParam<string>> publicationCode;
        private readonly IOptionalValue<IParam<string>> modelCode;
        private readonly IOptionalValue<IParam<string>> modelSequence;

        public ModelPublicationSearchQuery(
            IOptionalValue<IParam<string>> publicationCode,
            IOptionalValue<IParam<string>> modelCode,
            IOptionalValue<IParam<string>> modelSequence)
        {
            this.publicationCode = publicationCode;
            this.modelCode = modelCode;
            this.modelSequence = modelSequence;
        }
    }
}